Skip to content

targets: add SATA support to ECPIX-5 - #773

Merged
enjoy-digital merged 1 commit into
masterfrom
ecpix5-sata
Jul 30, 2026
Merged

targets: add SATA support to ECPIX-5#773
enjoy-digital merged 1 commit into
masterfrom
ecpix5-sata

Conversation

@enjoy-digital

Copy link
Copy Markdown
Member

Summary

  • add optional Gen2 SATA support to the ECPIX-5 target with --with-sata
  • instantiate the ECP5 PHY on DCU1 channel 0 and expose the LiteSATA read/write core to the BIOS
  • generate the fixed 150MHz SATA reference clock from a dedicated PLL, independently of the configurable system clock
  • correct the platform SATA resource to expose only the DCU differential RX/TX lanes

The default target remains unchanged when SATA is not enabled.

Hardware validation

Tested on an ECPIX-5 85F with a Toshiba DT01ACA100 HDD, using the target's default 75MHz system clock.

Build and load:

python3 litex_boards/targets/lambdaconcept_ecpix5.py \
    --with-sata \
    --build \
    --load

BIOS commands:

sata_init
sata_read 0
sata_read 1

Results:

  • BIOS and SDRAM initialization completed successfully
  • IDENTIFY reported TOSHIBA DT01ACA100, 1000GB
  • Initialize SATA: OK
  • DMA reads of LBA 0 and LBA 1 completed successfully
  • returned data matched the continuous pattern previously written by the LiteSATA BIST
  • BIOS reached SATA filesystem probing; mounting failed as expected since the test disk has no LiteX FAT boot volume

All routed clock domains pass timing:

  • system: 95.47MHz achieved / 75.01MHz required
  • SATA RX: 237.81MHz achieved / 150.01MHz required
  • SATA TX: 251.51MHz achieved / 150.01MHz required

The target also elaborates successfully without --with-sata.

Dependency

This uses the ECP5 SATA PHY support from enjoy-digital/litesata#38. Its LiteICLink dependency, enjoy-digital/liteiclink#33, is already merged.

Add an optional Gen2 LiteSATA PHY/core using DCU1 channel 0 and a dedicated 150MHz reference PLL. Correct the platform SATA resource to expose only the DCU differential data lanes.
@enjoy-digital

Copy link
Copy Markdown
Member Author

@gatecat: Might be of interest for you :) (We discussed that a few years ago...)

@enjoy-digital
enjoy-digital merged commit 5fd0ff4 into master Jul 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant